replace_CH_CH_fixed Function

private elemental function replace_CH_CH_fixed(string, start, finish, substring) result(rep_string)

Replace part of a character string with a character substring

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string
integer, intent(in) :: start
integer, intent(in) :: finish
character(len=*), intent(in) :: substring

Return Value type(varying_string)


Variables

Type Visibility Attributes Name Initial
integer, private :: finish_
integer, private :: start_

Source Code

  elemental function replace_CH_CH_fixed (string, start, finish, substring) result (rep_string)

    character(LEN=*), intent(in) :: string
    integer, intent(in)          :: start
    integer, intent(in)          :: finish
    character(LEN=*), intent(in) :: substring
    type(varying_string)         :: rep_string

    integer                      :: start_
    integer                      :: finish_


    start_ = MAX(1, start)
    finish_ = MIN(LEN(string), finish)

    if(finish_ < start_) then
       rep_string = insert(string, start_, substring)
    else
       rep_string = var_str(string(:start_-1)//substring//string(finish_+1:))
    endif

! Finish

    return

  end function replace_CH_CH_fixed